package com.dtx.mediator;

import java.awt.*;

/**
 * ColleagueButton类是java.awt.Button的子类,它实现了Colleague接口,与LoginFrame(Mediator接口共同工作)。
 * mediator字段中保存了通过setMediator方法的参数传递进来的Mediator对象(LoginFrame类的实例)。
 * setColleagueEnabled方法会调用Java的GUI中定义的setEnabled方法,设置禁用或是启用空间。setEnabled(true)后
 * 控件按钮可以被按下,setEnabled(false)后按钮无法被按下。
 */
public class ColleagueButton extends Button implements Colleague{

    private Mediator mediator;

    public ColleagueButton(String caption){
        super(caption);
    }

    /**
     * 保存Mediator
     * @param mediator
     */
    @Override
    public void setMediator(Mediator mediator) {
        this.mediator = mediator;
    }

    /**
     * Mediator下标启用/禁用的指示
     * @param enabled
     */
    @Override
    public void setColleagueEnabled(boolean enabled) {
        setEnabled(enabled);
    }
}
